
#ifndef __SSL_INTERFACE_H
#define __SSL_INTERFACE_H

#include <openssl/err.h>

/** An interface encapsulating functions to do with the SSL library. */
class SSLInterface
{
   public:
      static void destroyInstance();
      static SSLInterface &getInstance();
      ~SSLInterface();
      static void func_CheckSSLError(const char *fpretty, int line);
   private:
      SSLInterface();
      static SSLInterface *ssl_iface_singleton;
};

#define SSLCheckError(s) SSLInterface::func_CheckSSLError(__PRETTY_FUNCTION__, __LINE__)

#endif
